Class ParticleData

java.lang.Object
particleengine.ParticleData

public class ParticleData extends Object
Pre-generation data for a single particle.
  • Constructor Details

    • ParticleData

      public ParticleData()
      Initializes a ParticleData with default properties.
  • Method Details

    • offset

      public ParticleData offset(org.lwjgl.util.vector.Vector2f offset)
      Parameters:
      offset - Initial location of this particle relative to the parent emitter, along that emitter's axes.
      Returns:
      this
    • velocity

      public ParticleData velocity(org.lwjgl.util.vector.Vector2f velocity)
      Parameters:
      velocity - Initial velocity of this particle along its parent emitter's axes.
      Returns:
      this
    • acceleration

      public ParticleData acceleration(org.lwjgl.util.vector.Vector2f acceleration)
      Parameters:
      acceleration - Acceleration of this particle along its parent emitter's axes.
      Returns:
      this
    • sinusoidalXMotion

      public ParticleData sinusoidalXMotion(float amplitude, float frequency, float phase)
      Parameters:
      amplitude - Amplitude of sinusoidal motion along emitter's x-axis, in world units.
      frequency - Frequency of sinusoidal motion along emitter's x-axis, in hertz.
      phase - Phase of sinusoidal motion along emitter's x-axis, in degrees.
      Returns:
      this
    • sinusoidalYMotion

      public ParticleData sinusoidalYMotion(float amplitude, float frequency, float phase)
      Parameters:
      amplitude - Amplitude of sinusoidal motion along emitter's y-axis, in world units.
      frequency - Frequency of sinusoidal motion along emitter's y-axis, in hertz.
      phase - Phase of sinusoidal motion along emitter's y-axis, in degrees.
      Returns:
      this
    • facing

      public ParticleData facing(float facing)
      Parameters:
      facing - Initial facing angle. 0 degrees is to the right.
      Returns:
      this
    • turnRate

      public ParticleData turnRate(float turnRate)
      Parameters:
      turnRate - Initial rotation rate about the particle's center point.
      Returns:
      this
    • turnAcceleration

      public ParticleData turnAcceleration(float turnAcceleration)
      Parameters:
      turnAcceleration - Rotation acceleration about the particle's center point.
      Returns:
      this
    • revolutionRate

      public ParticleData revolutionRate(float revolutionRate)
      Parameters:
      revolutionRate - Initial revolution rate about the emitter's location.
      Returns:
      this
    • revolutionAcceleration

      public ParticleData revolutionAcceleration(float revolutionAcceleration)
      Parameters:
      revolutionAcceleration - Revolution acceleratino about the emitter's location.
      Returns:
      this
    • size

      public ParticleData size(float xSize, float ySize)
      Parameters:
      xSize - Width, in world units.
      ySize - Height, in world units.
      Returns:
      this
    • growthRate

      public ParticleData growthRate(float xGrowthRate, float yGrowthRate)
      Parameters:
      xGrowthRate - Growth rate along the x-axis.
      yGrowthRate - Growth rate along the y-axis.
      Returns:
      this
    • growthAcceleration

      public ParticleData growthAcceleration(float xGrowthAcceleration, float yGrowthAcceleration)
      Parameters:
      xGrowthAcceleration - Growth acceleration along the x-axis.
      yGrowthAcceleration - Growth acceleration along the y-axis.
      Returns:
      this
    • color

      public ParticleData color(float r, float g, float b, float a)
      Parameters:
      r - Initial red channel value between 0 and 1.
      g - Initial green channel value between 0 and 1.
      b - Initial blue channel value between 0 and 1.
      a - Initial alpha channel value between 0 and 1.
      Returns:
      this
    • color

      public ParticleData color(Color color)
      Parameters:
      color - Color object to set this particle's color to.
      Returns:
      this
    • color

      public ParticleData color(float[] color)
      Parameters:
      color - 4-element float array containing RGBA color data.
      Returns:
      this
    • colorHSVA

      public ParticleData colorHSVA(float[] color)
    • hueShift

      public ParticleData hueShift(float hueShift)
      Parameters:
      hueShift - Hue shift amount, in degrees per second.
      Returns:
      this
    • saturationShift

      public ParticleData saturationShift(float saturationShift)
      Parameters:
      saturationShift - Saturation shift amount per second. Saturation is defined between 0 and 1.
      Returns:
      this
    • colorValueShift

      public ParticleData colorValueShift(float colorValueShift)
      Parameters:
      colorValueShift - Color value shift amount per second. Color value is defined between 0 and 1.
      Returns:
      this
    • alphaShift

      public ParticleData alphaShift(float alphaShift)
      Parameters:
      alphaShift - Alpha shift amount per second. ALpha is defined between 0 and 1.
      Returns:
      this
    • fadeTime

      public ParticleData fadeTime(float fadeIn, float fadeOut)
      Parameters:
      fadeIn - Fade in time. An alpha value multiplier linearly ramps up from particle's start of life.
      fadeOut - Fade out time. An alpha value multiplier linearly ramps down to particle's end of life.
      Returns:
      this
    • life

      public ParticleData life(float life)
      Parameters:
      life - Total duration particle will last for.
      Returns:
      this